

using System;
using System.Text;

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Exceptions;

using LastFMGenNHibernate.EN.LastFM;
using LastFMGenNHibernate.CAD.LastFM;

namespace LastFMGenNHibernate.CEN.LastFM
{
        public partial class AlbumCEN
        {
        private IAlbumCAD _IAlbumCAD;

        public AlbumCEN(IAlbumCAD _IAlbumCAD)
        {
                this._IAlbumCAD = _IAlbumCAD;
        }

        public int New_ (String p_nombreAlbum, String p_etiqueta, int p_grupo)
        {
                AlbumEN albumEN = null;
                int oid;

                //Initialized AlbumEN
                albumEN = new AlbumEN ();
                albumEN.NombreAlbum = p_nombreAlbum;
                albumEN.Etiqueta = p_etiqueta;
                if (p_grupo != -1) {
                        albumEN.Grupo = new LastFMGenNHibernate.EN.LastFM.GrupoEN ();
                        albumEN.Grupo.Id = p_grupo;
                }
                //Call to AlbumCAD

                oid = _IAlbumCAD.New_ (albumEN);
                return oid;
        }

        public void Destroy (int id)
        {
                _IAlbumCAD.Destroy (
                        id

                        );
        }

        public void Modify (int p_Album_OID, String p_nombreAlbum, String p_etiqueta)
        {
                AlbumEN albumEN = null;

                //Initialized AlbumEN
                albumEN = new AlbumEN ();
                albumEN.Id = p_Album_OID;
                albumEN.NombreAlbum = p_nombreAlbum;
                albumEN.Etiqueta = p_etiqueta;
                //Call to AlbumCAD

                _IAlbumCAD.Modify (albumEN);
        }

        public System.Collections.Generic.IList<AlbumEN> DevolverAlbumes (int first, int size)
        {
                System.Collections.Generic.IList<AlbumEN> list = null;

                list = _IAlbumCAD.DevolverAlbumes (first, size);
                return list;
        }
        }
}
